package com.lyf.core.compant;

import java.lang.annotation.Documented;
import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;

import com.lyf.core.log.aspect.OptType;

/**
 * 自定义权限配置注解
 * @author lyf
 *
 */
@Retention(RetentionPolicy.RUNTIME)
@Target(value={ElementType.METHOD , ElementType.TYPE})
@Documented
 
public @interface Perm {

	/**
	 * 隶属模块 一般为上一级权限模块名称
	 * @return
	 */
	String model();
	
	/**
	 * 权限说明名称
	 * @return
	 */
	String name(); 
	
	/**
	 * 当前权限URL的ID
	 * @return
	 */
	String id();
	 
	/**
	 * 是否页面
	 * @return
	 */
	boolean isPage() default true ;
	
	/**
	 * 是否菜单项
	 * @return
	 */
	boolean isMenu() default true;
	
	/**
	 * 上一级权限URL的ID
	 * @return
	 */
	String parentId() default "";
	
	/**
	 * 操作类型
	 * @return
	 */
	OptType optType() default OptType.QUERY; //操作类型
 
	
}
